package Test;

public class Test_Constructor_Static {
    public static void main(String[] args) {
        System.out.println("创建第一个对象：");
        Test test1 = new Test();
        System.out.println(test1.getExap1());
        System.out.println("");
        System.out.println("创建第二个对象：");
        Test test2 = new Test(5);
        System.out.println(test2.getExap1());
    }
}

class Test {
    // 静态代码块1
    private static int exap1;

    public static int getExap1() {
        return exap1;
    }
    public static void setExap1(int exap1) {
        Test.exap1 = exap1;
    }
    static {
        exap1 = 15;
        System.out.println("我是静态代码块1");
    }

    // 构造代码块1：
    {
        System.out.println("我是构造代码块1");
    }

    // 构造函数1
    public Test() {
        System.out.println("我是无参构造函数");
    }
    // 静态代码块2
    static {
        System.out.println("我是静态代码块2");
    }
    // 构造代码块2：
    {
        System.out.println("我是构造代码块2");
    }
    // 构造函数2
    public Test(int t) {
        System.out.println("我是带参构造函数，" + "参数是" + t);
    }
}